// pages/assistant/assistant.js
const { getImageUrl } = require('../../utils/imageUtils.js');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    searchValue: '',
    activeTab: 'all',
    currentCategory: {},
    currentFunctions: [],
    
    // 图片URLs
    imgBgUrl: '',
    // 九个功能分类数据
    categories: [
      {
        id: 'work_efficiency',
        name: '工作提效类',
        description: '提升工作效率的AI助手',
        icon: 'notes-o',
        bgColor: '#4dabf7',
        type: 'work',
        tags: ['专业', '经验丰富'],
        subFunctions: [
          {
            name: '会议纪要生成',
            description: '智能整理会议内容生成纪要',
            tags: ['高效', '专业'],
            icon: 'notes-o'
          },
          {
            name: '专业翻译',
            description: '多语言精准翻译服务',
            tags: ['准确', '快速'],
            icon: 'exchange'
          },
          {
            name: '日报处理',
            description: '自动生成工作日报总结',
            tags: ['便捷', '规范'],
            icon: 'calendar-o'
          },
          {
            name: 'PPT助手',
            description: '智能制作演示文稿',
            tags: ['美观', '实用'],
            icon: 'photo-o'
          },
          {
            name: '回复老板神器',
            description: '职场沟通回复建议',
            tags: ['智能', '贴心'],
            icon: 'chat-o'
          }
        ]
      },
      {
        id: 'social_media',
        name: '社媒创作类',
        description: '社交媒体内容创作专家',
        icon: 'comment-o',
        bgColor: '#ff6b35',
        type: 'work',
        tags: ['创意', '爆款'],
        subFunctions: [
          {
            name: '短视频文案生成',
            description: '创作吸引眼球的短视频文案',
            tags: ['爆款', '创意'],
            icon: 'video-o'
          },
          {
            name: '直播带货话术',
            description: '专业直播销售话术指导',
            tags: ['销售', '专业'],
            icon: 'live'
          },
          {
            name: '朋友圈文案创作',
            description: '个性化朋友圈内容创作',
            tags: ['个性', '有趣'],
            icon: 'friends-o'
          },
          {
            name: '海报文案设计',
            description: '营销海报文案策划',
            tags: ['营销', '吸睛'],
            icon: 'poster'
          },
          {
            name: '小红书文案',
            description: '小红书种草文案创作',
            tags: ['种草', '流量'],
            icon: 'like-o'
          }
        ]
      },
      {
        id: 'personal_assistant',
        name: '个人助理类',
        description: '贴心的个人生活助手',
        icon: 'user-circle-o',
        bgColor: '#51cf66',
        type: 'life',
        tags: ['贴心', '全能'],
        subFunctions: [
          {
            name: '旅游指南',
            description: '个性化旅游路线规划',
            tags: ['贴心', '全面'],
            icon: 'location-o'
          },
          {
            name: '美食推荐',
            description: '本地特色美食推荐',
            tags: ['美味', '地道'],
            icon: 'good-job-o'
          },
          {
            name: '学习计划制定',
            description: '科学高效学习计划',
            tags: ['科学', '高效'],
            icon: 'todo-list-o'
          },
          {
            name: 'AI医生',
            description: '健康咨询和建议服务',
            tags: ['专业', '可靠'],
            icon: 'service-o'
          },
          {
            name: '法律咨询',
            description: '法律问题解答指导',
            tags: ['权威', '准确'],
            icon: 'balance-o'
          }
        ]
      },
      {
        id: 'life_entertainment',
        name: '生活娱乐类',
        description: '让生活更有趣的伙伴',
        icon: 'smile-comment-o',
        bgColor: '#ffd43b',
        type: 'entertainment',
        tags: ['有趣', '多样'],
        subFunctions: [
          {
            name: '故事创作',
            description: '原创故事情节创作',
            tags: ['原创', '有趣'],
            icon: 'edit'
          },
          {
            name: '诗歌生成',
            description: '优美诗歌创作服务',
            tags: ['文艺', '优美'],
            icon: 'flower-o'
          },
          {
            name: '笑话/段子',
            description: '幽默笑话段子生成',
            tags: ['幽默', '搞笑'],
            icon: 'smile-o'
          },
          {
            name: '星座运势',
            description: '每日星座运势解读',
            tags: ['神秘', '趣味'],
            icon: 'star-o'
          },
          {
            name: '天气查询',
            description: '实时天气信息查询',
            tags: ['实用', '准确'],
            icon: 'umbrella-circle'
          },
          {
            name: '新闻咨询',
            description: '热点新闻资讯推送',
            tags: ['及时', '全面'],
            icon: 'newspaper-o'
          },
          {
            name: '股票查询',
            description: '股市行情实时查询',
            tags: ['实时', '专业'],
            icon: 'chart-trending-o'
          },
          {
            name: '小说创作',
            description: '长篇小说情节创作',
            tags: ['创意', '精彩'],
            icon: 'book-o'
          },
          {
            name: '音乐推荐',
            description: '个性化音乐推荐',
            tags: ['个性', '品味'],
            icon: 'music-o'
          }
        ]
      },
      {
        id: 'paper_assistant',
        name: '论文辅助类',
        description: '学术写作的得力助手',
        icon: 'edit',
        bgColor: '#9775fa',
        type: 'study',
        tags: ['学术', '专业'],
        subFunctions: [
          {
            name: '论文大纲生成',
            description: '学术论文结构大纲设计',
            tags: ['学术', '结构'],
            icon: 'orders-o'
          },
          {
            name: '参考文献整理',
            description: '规范化文献引用整理',
            tags: ['规范', '准确'],
            icon: 'bookmark-o'
          },
          {
            name: '学术术语解释',
            description: '专业术语详细解释',
            tags: ['专业', '详细'],
            icon: 'search'
          },
          {
            name: '论文润色',
            description: '学术写作语言优化',
            tags: ['优化', '专业'],
            icon: 'brush-o'
          }
        ]
      },
      {
        id: 'video_creation',
        name: '视频创作类',
        description: '视频制作全流程助手',
        icon: 'video-o',
        bgColor: '#f06292',
        type: 'work',
        tags: ['创作', '专业'],
        subFunctions: [
          {
            name: '短视频脚本',
            description: '创意短视频剧本创作',
            tags: ['创意', '热门'],
            icon: 'video'
          },
          {
            name: '分镜脚本设计',
            description: '专业分镜头脚本设计',
            tags: ['专业', '详细'],
            icon: 'photo'
          },
          {
            name: '台词生成',
            description: '影视台词创作优化',
            tags: ['生动', '自然'],
            icon: 'volume-o'
          },
          {
            name: '背景音乐推荐',
            description: '视频配乐选择建议',
            tags: ['匹配', '氛围'],
            icon: 'music'
          }
        ]
      },
      {
        id: 'business_marketing',
        name: '商业营销类',
        description: '商业策划营销专家',
        icon: 'chart-trending-o',
        bgColor: '#26c6da',
        type: 'work',
        tags: ['策略', '营销'],
        subFunctions: [
          {
            name: '产品文案',
            description: '产品卖点文案策划',
            tags: ['营销', '转化'],
            icon: 'shop-o'
          },
          {
            name: '营销策划案',
            description: '全方位营销方案策划',
            tags: ['策略', '全面'],
            icon: 'bullhorn-o'
          },
          {
            name: '广告语创作',
            description: '朗朗上口的广告语',
            tags: ['记忆', '传播'],
            icon: 'comment-circle-o'
          },
          {
            name: '竞品分析报告',
            description: '深度竞品分析报告',
            tags: ['深度', '洞察'],
            icon: 'bar-chart-o'
          }
        ]
      },
      {
        id: 'mj_painting',
        name: 'MJ绘画咒语',
        description: 'AI绘画提示词专家',
        icon: 'photo-o',
        bgColor: '#ab47bc',
        type: 'entertainment',
        tags: ['艺术', '创意'],
        subFunctions: [
          {
            name: 'AI绘画提示词生成',
            description: '专业AI绘画提示词',
            tags: ['专业', '精准'],
            icon: 'magic'
          },
          {
            name: '艺术风格推荐',
            description: '多样化艺术风格指导',
            tags: ['艺术', '多样'],
            icon: 'palette'
          },
          {
            name: '绘画参数优化',
            description: '绘画参数调优建议',
            tags: ['优化', '技巧'],
            icon: 'setting-o'
          }
        ]
      },
      {
        id: 'survey_assistant',
        name: '问卷助手',
        description: '调研问卷设计专家',
        icon: 'description',
        bgColor: '#66bb6a',
        type: 'work',
        tags: ['调研', '分析'],
        subFunctions: [
          {
            name: '调查问卷设计',
            description: '科学问卷结构设计',
            tags: ['科学', '有效'],
            icon: 'description'
          },
          {
            name: '问题优化',
            description: '问卷问题表达优化',
            tags: ['清晰', '准确'],
            icon: 'question-o'
          },
          {
            name: '调查数据分析',
            description: '问卷数据深度分析',
            tags: ['深度', '洞察'],
            icon: 'pie-chart-o'
          }
        ]
      }
    ],

    // 热门推荐功能
    hotRecommendations: [
      {
        id: 'meeting_summary',
        name: '会议纪要生成',
        icon: 'notes-o',
        color: '#4dabf7'
      },
      {
        id: 'short_video_script',
        name: '短视频文案',
        icon: 'video-o',
        color: '#f06292'
      },
      {
        id: 'travel_guide',
        name: '旅游指南',
        icon: 'location-o',
        color: '#51cf66'
      },
      {
        id: 'ai_painting',
        name: 'AI绘画咒语',
        icon: 'photo-o',
        color: '#ab47bc'
      }
    ],
    // 功能图标映射
    functionIcons: [
      'edit-pen', 'translate', 'description', 'photo-o', 'chat-o',
      'video-o', 'volume-o', 'friends-o', 'poster', 'like-o',
      'location-o', 'good-job-o', 'calendar-o', 'service-o', 'balance-o',
      'pen', 'poetry', 'smile-o', 'star-o', 'weather',
      'newspaper-o', 'chart-trending-o', 'book-o', 'music-o', 'edit',
      'bookmark-o', 'search', 'brush-o', 'video', 'microphone',
      'music', 'shop-o', 'bullhorn-o', 'advertisement', 'bar-chart-o',
      'palette-o', 'photo', 'setting-o', 'question-o', 'chart-trending-o', 'pie-chart-o'
    ]
  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('专业助理页面加载');
    
    // 初始化图片URLs
    const { getIconUrl } = require('../../utils/imageUtils.js');
    this.setData({
      imgBgUrl: getIconUrl('img_bg.png')
    });
    
    console.log('背景图URL:', getIconUrl('img_bg.png'));
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 页面显示时的逻辑
  },



  /**
   * 搜索框输入变化
   */
  onSearchChange(event) {
    this.setData({
      searchValue: event.detail
    });
  },

  /**
   * 执行搜索
   */
  onSearch(event) {
    const query = event.detail || this.data.searchValue;
    if (!query.trim()) {
      wx.showToast({
        title: '请输入搜索内容',
        icon: 'none'
      });
      return;
    }
    
    // 在分类中搜索匹配的功能
    this.searchInCategories(query);
  },

  /**
   * 在分类中搜索
   */
  searchInCategories(query) {
    const { categories } = this.data;
    const results = [];
    
    categories.forEach(category => {
      // 搜索分类名称
      if (category.name.includes(query) || category.description.includes(query)) {
        results.push(category);
      } else {
        // 搜索子功能
        const matchedSubFunctions = category.subFunctions.filter(func => 
          func.includes(query)
        );
        if (matchedSubFunctions.length > 0) {
          results.push({
            ...category,
            matchedSubFunctions
          });
        }
      }
    });
    
    if (results.length > 0) {
      this.setData({
        filteredCategories: results,
        activeTab: 'search'
      });
    } else {
      wx.showToast({
        title: '未找到相关功能',
        icon: 'none'
      });
    }
  },



  /**
   * 切换标签
   */
  switchTab(event) {
    const tab = event.currentTarget.dataset.tab;
    this.setData({
      activeTab: tab
    });
    
    if (tab !== 'all') {
      this.updateCurrentCategory(tab);
    }
  },

  /**
   * 切换到指定分类
   */
  switchToCategory(event) {
    const categoryId = event.currentTarget.dataset.category;
    this.setData({
      activeTab: categoryId
    });
    this.updateCurrentCategory(categoryId);
  },

  /**
   * 更新当前分类信息
   */
  updateCurrentCategory(categoryId) {
    const category = this.data.categories.find(item => item.id === categoryId);
    if (category) {
      this.setData({
        currentCategory: category,
        currentFunctions: category.subFunctions
      });
    }
  },

  /**
   * 获取功能图标
   */
  getFunctionIcon(index) {
    return this.data.functionIcons[index % this.data.functionIcons.length];
  },

  /**
   * 选择功能
   */
  selectFunction(event) {
    const { function: functionData, index } = event.currentTarget.dataset;
    const functionName = functionData.name || functionData;
    
    // 使用表单页面的功能列表
    const formFunctions = [
      '会议纪要生成', '专业翻译', '日报处理', 'PPT助手', '回复老板神器',
      '短视频文案生成', '直播带货话术', '朋友圈文案创作', '海报文案设计', '小红书文案',
      '旅游指南', '美食推荐', '学习计划制定', 'AI医生', '法律咨询',
      '故事创作', '诗歌生成', '笑话/段子', '星座运势', '天气查询',
      '新闻咨询', '股票查询', '小说创作', '音乐推荐',
      '论文大纲生成', '参考文献整理', '学术术语解释', '论文润色',
      '短视频脚本', '分镜脚本设计', '台词生成', '背景音乐推荐',
      '产品文案', '营销策划案', '广告语创作', '竞品分析报告',
      'AI绘画提示词生成', '艺术风格推荐', '绘画参数优化',
      '调查问卷设计', '问题优化', '调查数据分析'
    ];
    
    // 特殊功能使用专用表单页面
    if (functionName === '会议纪要生成') {
      wx.navigateTo({
        url: '/pages/meeting-form/meeting-form'
      });
      return;
    }
    
    // 使用通用表单页面的功能
    if (formFunctions.includes(functionName)) {
      wx.navigateTo({
        url: `/pages/function-form/function-form?functionName=${encodeURIComponent(functionName)}`
      });
      return;
    }
    
    // 查找功能所属的分类
    let categoryName = '';
    if (this.data.currentCategory && this.data.currentCategory.name) {
      categoryName = this.data.currentCategory.name;
    } else {
      // 在全部标签页时，需要查找功能所属的分类
      for (const category of this.data.categories) {
        const foundFunction = category.subFunctions.find(func => func.name === functionName);
        if (foundFunction) {
          categoryName = category.name;
          break;
        }
      }
    }
    
    // 跳转到功能详情页面（保留原有的简单输入方式）
    wx.navigateTo({
      url: `/pages/assistant/function/function?function=${encodeURIComponent(functionName)}&category=${encodeURIComponent(categoryName)}`
    });
  },

  /**
   * 快速开始功能
   */
  quickStart(event) {
    const func = event.currentTarget.dataset.function;
    
    // 使用表单页面的功能列表
    const formFunctions = [
      '会议纪要生成', '专业翻译', '日报处理', 'PPT助手', '回复老板神器',
      '短视频文案生成', '直播带货话术', '朋友圈文案创作', '海报文案设计', '小红书文案',
      '旅游指南', '美食推荐', '学习计划制定', 'AI医生', '法律咨询',
      '故事创作', '诗歌生成', '笑话/段子', '星座运势', '天气查询',
      '新闻咨询', '股票查询', '小说创作', '音乐推荐',
      '论文大纲生成', '参考文献整理', '学术术语解释', '论文润色',
      '短视频脚本', '分镜脚本设计', '台词生成', '背景音乐推荐',
      '产品文案', '营销策划案', '广告语创作', '竞品分析报告',
      'AI绘画提示词生成', '艺术风格推荐', '绘画参数优化',
      '调查问卷设计', '问题优化', '调查数据分析'
    ];
    
    // 特殊功能使用专用表单页面
    if (func.name === '会议纪要生成') {
      wx.navigateTo({
        url: '/pages/meeting-form/meeting-form'
      });
      return;
    }
    
    // 使用通用表单页面的功能
    if (formFunctions.includes(func.name)) {
      wx.navigateTo({
        url: `/pages/function-form/function-form?functionName=${encodeURIComponent(func.name)}`
      });
      return;
    }
    
    // 跳转到具体功能页面（保留原有的简单输入方式）
    wx.navigateTo({
      url: `/pages/assistant/function/function?id=${func.id}&name=${encodeURIComponent(func.name)}`
    });
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 重新加载数据
    this.updateFilteredCategories();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 可以在这里加载更多数据
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return {
      title: 'AI伙伴 - 您的专属AI助理',
      path: '/pages/assistant/assistant',
      imageUrl: getImageUrl('share-assistant.png')
    };
  }
});